//---------------------------------------------------------------------------- // File: C3DTransform.h // Class: C3DTransform -- Transform Object // Type: 3D Object // Author: Ken Anderson // Date: 2/26/05 // OS dependant: NA // Desc: A class designed to manage a transform object that will deal with // rotations, scaling and translations. In addition, the object has the // ability to manage and blend a stack or series of transformations & // matricies. // // Required headers: // 1) CRSGlobal.h -- Contains the global CRS Manager. There is only one CRS Manager // per system. //---------------------------------------------------------------------------- #if !defined(AFX_C3DTRANSFORM_H__4DE659CE_BDAB_4AEC_90C3_DCC15EA54588__INCLUDED_) #define AFX_C3DTRANSFORM_H__4DE659CE_BDAB_4AEC_90C3_DCC15EA54588__INCLUDED_ #include "CRSGlobal.h" class C3DTransform { private: PMTP m_pM; int m_nNumMTP; public: C3DTransform(); C3DTransform(const C3DTransform& transform); ~C3DTransform(); bool Rotate(float x, float y, float z); bool Translate(float x, float y, float z); bool Scale(float x, float y, float z); bool RotateTime(float x, float y, float z); bool TranslateTime(float x, float y, float z); bool ScaleTime(float x, float y, float z); void Render(float fTime); private: bool IsLastMatrix(C3DTransformType tt); PMTP LastMatrix(); void MatrixRelease(PMTP pM); void MatrixCpy(PMTP pM1, PMTP pM2, int nSize); bool MatrixExpand(PMTP pExp); void MatrixInit(PMTP pM); }; #endif // !defined(AFX_C3DTRANSFORM_H__4DE659CE_BDAB_4AEC_90C3_DCC15EA54588__INCLUDED_)